﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Invini.System.Enums
{
    [Flags]
    public enum SetupDiGetClassDevsFlags : uint
    {
        /// <summary>
        /// Return only the device that is associated with the system default
        /// device interface, if one is set, for the specified device interface classes.
        /// </summary>
        DIGCF_DEFAULT = 0x1,

        /// <summary>
        /// Return only devices that are currently present in a system.
        /// </summary>
        DIGCF_PRESENT = 0x2,

        /// <summary>
        /// Return a list of installed devices for all device setup classes 
        /// or all device interface classes.
        /// </summary>
        DIGCF_ALLCLASSES = 0x4,

        /// <summary>
        /// Return only devices that are a part of the current hardware profile.
        /// </summary>
        DIGCF_PROFILE = 0x8,

        /// <summary>
        /// Return devices that support device interfaces for the specified 
        /// device interface classes. This flag must be set in the Flags 
        /// parameter if the Enumerator parameter specifies a device instance ID.
        /// </summary>
        DIGCF_DEVICEINTERFACE = 0x10
    }
}
